   1 .
   2 .COMPUTER TWIXT
   3 .
  10 clear ;&(9)=50;BC=0;FC=98;NT=1;&(2)=6;&(3)=6;@(1)=2;@(2)=1;@(3)=-1;@(4)=-2;@(5)=-2;@(6)=-1;@(7)=1;@(8)=2
  20 @(11)=1;@(12)=2;@(13)=2;@(14)=1;@(15)=-1;@(16)=-2;@(17)=-2;@(18)=-1
  25 @(22)=1;@(23)=1;@(24)=2;@(25)=3;@(26)=3;@(27)=3;@(28)=4;@(29)=5;@(30)=5
  30 U=39;for Y=-Uto Ustep 6;for X=-Uto Ustep 6;box X,Y,1,1,1;next X;next Y;FC=6;box U,U,1,1,3;box U,-U,1,1,3;box -U,U,1,1,3;box -U,-U,1,1,3
  40 CX=-74;CY=24;print "left -1-right ",;A=-63;B=0;gosub 500;CX=51;print "down  2 up ",;A=62;gosub 400
  50 D=0;A=3;B=3;W=0
  60 D=(D=1)+1;if D=1&(0)=0;&(1)=0;&(9)=9;BC=8
  65 if D=2&(9)=31;&(0)=178;&(1)=178;BC=0
  70 A=6mul JX(D)+A;B=6mul JY(D)+B;if A<-33A=-39mul (D=1)-33mul (D=2)
 200 if A>33A=39mul (D=1)+33mul (D=2)
 210 if B<-33B=-39mul (D=2)-33mul (D=1)
 220 if B>33B=39mul (D=2)+33mul (D=1)
 230 box A,B,3,3,3;box A,B,3,3,3;if TR(D)MU=53;MU=56;MU=60;if PX(A,B)=1goto 260
 250 goto 70
 260 gosub 500-(D=2)mul 100;if (ABS(A)=39)+(ABS(B)=39)W=1
 280 if W=1C=0;P=A;R=B;K=3;Q=3;H=1;gosub 1020
 290 goto 60
 400 box A,B,3,1,1;box A,B,1,3,3;gosub 600;return 
 500 box A,B,3,3,3;gosub 600;return 
 600 for E=1to 8;X=A+@(E)mul 6;if X<-39mul (D=1)-33mul (D=2)goto 690
 630 if X>39mul (D=1)+33mul (D=2)goto 690
 640 Y=B+@(E+10)mul 6;if Y<-39mul (D=2)-33mul (D=1)goto 690
 660 if Y>39mul (D=2)+33mul (D=1)goto 690
 670 if ABS(A)=39if ABS(B)=39goto 690
 680 if PX(X,Y)#1if PX(X+1,Y+1)=PX(A+1,B+1)H=30;Q=0;gosub 810
 690 next E;return 
 810 for S=22to H;if X-A=12P=S-20
 830 if X-A=-12P=20-S
 840 if X-A=6P=@(S)
 850 if X-A=-6P=-@(S)
 860 if Y-B=12R=S-20
 870 if Y-B=-12R=20-S
 880 if Y-B=6R=@(S)
 890 if Y-B=-6R=-@(S)
 900 box A+P,B+R,1,1,3;if Q=1if S=Hreturn 
 910 if Q=1next S
 920 if PX(A+P,B+R)=0Q=1;H=S;goto 810
 930 next S;return 
1020 if K+Q=0;goto 1100
1030 for S=Hto H+7;M=S-8mul (S>8);L=P+@(M);O=R+@(M+10);box L,O,1,1,3;box L,O,1,1,3
1070 if PX(L,O)=1P=P+@(M)mul 6;R=R+@(M+10)mul 6;H=M-3mul (M>3)+5mul (M<4);goto 2000
1080 if C=0if S>7return 
1090 next S;return 
1100 NT=0;CX=(D=2)mul 48-(D=1)mul 79;CY=-24;print "WINNER",;NT=9
1990 MU=65:MU=70;MU=74;if TR(1)run 
1995 goto 1990
2000 if C=0Z=M+1
2010 if Z>9return 
2020 if C#0if P=Aif R=Breturn 
2030 C=1;if P=-39K=-1;goto 2070
2040 if P=39Q=1;goto 2070
2050 if R=-39K=-1;goto 2070
2060 if R=39Q=1;goto 2070
2065 goto 1020
2070 P=A;R=B;C=0;H=Z;if (ABS(R)=39)+(ABS(P)=39)=1goto 1100
2080 goto 1020
>:return 
